const fs = require('fs')
const {
  resolve
} = require("path")
const {
  callbackify
} = require("util")
  // 这里有个小坑、就是用node在执行含有文件操作的代码的时候，
  // 使用相对路径是相对你node命令执行的目录，而不是相对于代码文件所在的位置
  // fs.readFile('./00-a.txt', 'utf-8', (err, data) => {
  //   if (err) throw err
  //   console.log(data);
  // })

// 正常函数调用
// 想要先后调用a, b, c
// function getData(url, callback) {
//   callback && callback(url)
// }

// getData('./00-a.txt', (url) => {
//   fs.readFile(url, 'utf-8', (err, data) => {
//     if (err) throw err
//     fs.readFile('./' + data, 'utf-8', (err, data1) => {
//       if (err) throw err
//       fs.readFile('./' + data1, 'utf-8', (err, data2) => {
//         if (err) throw err
//         console.log(data2);
//       })
//     })
//   })
// })


new Promise((resolve, reject) => {
  fs.readFile('./00-a.txt', 'utf-8', (err, data) => {
    resolve(data)
  })
}).then(res => {
  return new Promise((resolve, reject) => {
    fs.readFile(res, 'utf-8', (err, data) => {
      resolve(data)
    })
  })
}).then(res => {
  fs.readFile(res, 'utf-8', (err, data) => {
    console.log(data);
  })
})